package controleur;

import java.util.TimerTask;

import modele.Joueur;
import modele.Map;
import modele.Batiment.Batiment;
import modele.Unite.Ouvrier;

public class TacheDeplacementEtConstruction extends TimerTask{
	int nbrMillisecondesAvantRepetition;
	Ouvrier ouvrier;
	Controleur controleur;
	Map map;
	Joueur joueur;
	Batiment batiment;
	
	public TacheDeplacementEtConstruction(Controleur c, int tempsDAttenteMillisecondes, Ouvrier ouv, Map m, Joueur j, Batiment b)
	{
		nbrMillisecondesAvantRepetition = tempsDAttenteMillisecondes;
		ouvrier = ouv;
		controleur = c;
		map = m;
		joueur = j;
		batiment = b;
		
	}
	
	
	
	
	@Override
	public void run() {
		//si le déplacement peut avoir lieu
		//afficher la direction que l'on prend à chaque pas et afficher la nouvelle position et comparer
		
		ouvrier.seDeplacer(map);
		
		//sinon ...
		//TODO
		
		if(ouvrier.getListeDirection().size() != 0)//si ce n'était pas le dernier mouvement on relance un timer
		{
			new MonTimer(new TacheDeplacementEtConstruction(controleur, nbrMillisecondesAvantRepetition, ouvrier, map, joueur, batiment), Controleur.tempsDAttenteMillisecondesDeplacement);
		}
		else
		{
			new MonTimer(new TacheConstruction(controleur, joueur, map, batiment, ouvrier), Controleur.tempsDAttenteMillisecondesConstruction);
		}
		controleur.provoquerRafraichissement();
	}

}
